Method and apparatus for detecting edge of image and computer readable medium processing method

ABSTRACT

The present invention provides a method and apparatus for detecting a noise distribution of an image close to a true distribution, and detecting an edge of the image precisely and quickly based on the detected noise distribution without performing a smoothing process for the image, and a computer readable medium processing the method. The method of detecting an edge of an image includes the steps of: detecting a noise distribution of an object image; and detecting an edge of the image based on the detected noise distribution.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a method and apparatus for detecting an edge of an object image and a computer readable medium processing the method.

2. Description of the Related Art

A Conventional

In general, a conventional apparatus for detecting an edge of an object performs a smoothing process for an image taken by a camera in order to reduce noises present in the image. In this case, a structure of the smoothed image is varied. That is, position of an edge line of the smoothed image becomes different from position of an actual edge line, especially around a corner. In addition, the conventional image edge detecting apparatus may remove minute variation (minute edge) of the image as well as the noises according to parameters.

The conventional image edge detecting apparatus divides a degree of edge of the image according to values set by a user. For example, the conventional image edge detecting apparatus detects the edge of the image according to image brightness, scene and camera set by the user.

SUMMARY OF THE INVENTION

Accordingly, it is an object of the present invention to provide a method and apparatus for detecting a noise distribution of an image close to a true distribution, and detecting an edge of the image precisely and quickly based on the detected noise distribution without performing a smoothing process for the image, and a computer readable medium processing the method.

To achieve the above object, according to an aspect of the invention, there is provided a method of detecting an edge of an image, including the steps of: detecting a noise distribution of an object image; and detecting an edge of the image based on the detected noise distribution.

According to another aspect of the invention, there is provided an apparatus for detecting an edge of an image, including: a noise detecting unit that detects a noise distribution of an object image; and an edge detecting unit that detects an edge of the image based on the detected noise distribution.

According to still another aspect of the invention, there is provided a computer readable medium recorded with a program for performing the above method.

The medium includes all kinds of record media in which programs and data are stored so that they can be read by a computer system. For example, the medium may include a ROM (Read Only Memory), a RAM (Random Access Memory), a CD (Compact Disk), a DVD (Digital Video Disk)-ROM, a magnetic tape, a floppy disk, an optical data storage, etc., and may be implemented with the form of carrier waves (for example, transmission through the Internet). In addition, the medium may be distributed in computer systems interconnected by a network so that computer readable codes can be stored and executed in a distributed processing system.

BRIEF DESCRIPTION OF THE DRAWINGS

The above and/or other aspects and advantages of the present invention will become apparent and more readily appreciated from the following description of the embodiments, taken in conjunction with the accompanying drawings of which:

FIG. 1 is a view showing a configuration of an image edge detecting apparatus according to an embodiment of the present invention;

FIGS. 2 a and 2 b are views illustrating concept and result of edge detection for explaining an image edge detecting method and apparatus according to an embodiment of the present invention;

FIG. 3 is a view showing an example of a probability mass function of a Skellam distribution;

FIGS. 4 a to 4 d are views showing Skellam and Gaussian distributions depending on μ₁ and μ₁;

FIGS. 5 a to 5 c are views showing Skellam parameter estimation results using static images;

FIGS. 6 a to 6 d are views showing comparison between modeling results in spatial and temporal domains;

FIGS. 7 a to 7 c are views showing linearity between a sample mean of a patch and a Skellam parameter;

FIG. 8 is a view showing a histogram of intensity in an R channel and detected local maxima;

FIGS. 9 a to 9 c are views showing estimation results of an Intensity-Skellam line of each channel in two static images;

FIGS. 10 a and 10 b are views showing variation of a Skellam parameter at an edge line;

FIGS. 11 a and 11 b are views showing a histogram for a difference between Skellam parameters;

FIGS. 12 a to 12 c are views showing estimation results of image intensity and a Skellam line in a single image;

FIG. 13 is a view showing intensity allowance of a given probability density function;

FIGS. 14 a to 14 f are a first exemplary view showing comparison between an edge detection result according to an embodiment of the present invention and an edge detection result of a Canny edge detector;

FIGS. 15 a to 15 f are a second exemplary view showing comparison between an edge detection result according to an embodiment of the present invention and an edge detection result of a Canny edge detector; and

FIGS. 16 a to 16 d are views showing edge detection results depending on various illumination changes.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

Hereinafter, preferred embodiments of a method and apparatus for detecting a noise distribution of an image without performing a smoothing process for the image, and detecting an edge of the image precisely and quickly based on the detected noise distribution will be described in detail with reference to the accompanying drawings.

FIG. 1 is a view showing a configuration of an image edge detecting apparatus 10 according to an embodiment of the present invention.

Referring to FIG. 1, the image edge detecting apparatus 10 according to the embodiment of the present invention includes a noise detecting unit 11 that detects a noise distribution in an object image, and an edge detecting unit 12 that detects an edge (or boundary) of the image based on the detected noise distribution. Here, the image edge detecting method and apparatus can be applied to a chare-coupled device (CCD) camera.

The noise detecting unit 11 estimates the noise distribution according to a linear relationship between noise parameters of the image and intensity of the image and outputs the estimated noise distribution to the edge detecting unit 12.

The edge detecting unit 12 detects the edge of the image based on the estimated noise distribution and outputs the detected edge to a display unit 20. At this time, the display unit 20 displays an edge image of the original image on a screen.

Hereinafter, concept and result of edge detection of an object image taken with the CCD camera will be described with reference to FIGS. 2 a and 2 b.

FIGS. 2 a and 2 b are views illustrating concept and result of edge detection for explaining an image edge detecting method and apparatus according to an embodiment of the present invention. That is, FIGS. 2 a and 2 b show general concept and result of edge detection of an image.

As shown in FIGS. 2 a and 2 b, a noise distribution for each intensity can be determined through linearity between Skellam parameters and a sample mean of a patch, that is intensity, and intensity allowance can be determined based on the determined noise distribution. For example, when the noise distribution depending on intensity at each pixel is determined, it can be determined whether a difference between pixels derives from noise or change of an actual scene based on the determined intensity allowance.

Hereinafter, a Skellam distribution for noise modeling of an intensity difference will be described.

First, assuming that image intensity of each pixel obeys a Poisson distribution, a probability distribution for photon p for an observation time interval T becomes a Poisson distribution according to Equation 1.

$\begin{matrix} {{P\left( {\left. p \middle| \rho \right.,T} \right)} = \frac{\left( {\rho \; T} \right)^{p}^{{- \rho}\; T}}{p!}} & \left\lbrack {{Equation}\mspace{20mu} 1} \right\rbrack \end{matrix}$

Here, ρ is a ratio of measured photon per second. The mean μ and the standard deviation σ are given as Equations 2 and 3

μ=ρT   [Equation 2]

σ=√{square root over (ρT)}  [Equation 3]

Since the number of photons determines the intensity of pixel. Photon noise is not independent of a signal. In addition, the photon noise is neither Gaussian nor additional. In Equations 2 and 3, μ means the number of photons for the interval T. It is natural that the number of photons in a bright pixel should be larger than the number of photons in a dark pixel. From this fact, it can be expected that μ increases with increase of intensity. This expectation will be proved as follows.

If μ is sufficiently large, the Poisson distribution can be approximated to a Gaussian distribution. Then, since a difference between two Gaussians obeys Gaussian, a distribution of an intensity difference will also be Gaussian. However, μ is varied depending on intensity. This means that a Gaussian approximation may be broken.

The Poisson distribution is directly used to represent the intensity difference in order to avoid a wrong Gaussian approximation. A difference between two Poisson probability parameters is defined by a Skellam distribution. A probability mass function of the Skellam distribution is a function of k that means the difference between two Poisson probability parameters and is expressed as Equation 4.

$\begin{matrix} {{f\left( {{k;\mu_{1}},\mu_{2}} \right)} = {{^{- {({\mu_{1} + \mu_{2}})}}\left( \frac{\mu_{1}}{\mu_{2}} \right)}^{k/2}{I_{k}\left( {2\sqrt{\mu_{1}\mu_{2}}} \right)}}} & \left\lbrack {{Equation}\mspace{20mu} 4} \right\rbrack \end{matrix}$

Here, each of μ₁ and μ₂ refers to the mean or an expected value, and I_(k) refers to a modified Bessel function of the first kind.

Hereinafter, an example of the probability mass function of the Skellam distribution will be described with reference to FIG. 3.

FIG. 3 is a view showing an example of the probability mass function of the Skellam distribution.

First, in a special case of μ₁=μ₂, the Skellam distribution for μ and k having a large value tends to become a Gaussian distribution. Since μ and k do not have a sufficiently large value for a pixel having low intensity, the Skellam distribution can not be approximated as the Gaussian distribution. This fact will be described with reference to FIGS. 4 a to 4 d.

FIGS. 4 a to 4 d are views showing the Skellam and Gaussian distributions depending on μ₁ and μ₂.

FIG. 4 a shows the Skellam and Gaussian distributions when μ₁=μ₂=0.1 and σ=0.2, FIG. 4 b shows the Skellam and Gaussian distributions when μ₁=μ₂=0.5 and σ=1.0, FIG. 4 c shows the Skellam and Gaussian distributions when μ₁μ₂=1.0 and σ=2.0, and FIG. 4 d shows the Skellam and Gaussian distributions when μ₁=μ₂=3.0 and σ=6.0.

Accordingly, Skellam parameters of intensity difference can be easily estimated using statistics of the Skellam distribution. Mean μ_(s) and variance σ_(s) ² are given as Equations 5 and 6.

μ_(s)=μ₁−μ₂   [Equation 5]

σ_(s) ²=μ₁+μ₂   [Equation 6]

Here, according to Equations 5 and 6, μ₁ and μ₂ can be directly obtained according to Equations 7 and 8.

$\begin{matrix} {\mu_{1} = \frac{\mu_{S} + \sigma_{S}^{2}}{2}} & \left\lbrack {{Equation}\mspace{20mu} 7} \right\rbrack \\ {\mu_{2} = \frac{\mu_{S} - \sigma_{S}^{2}}{2}} & \left\lbrack {{Equation}\mspace{20mu} 8} \right\rbrack \end{matrix}$

Here, μ_(s) and variance σ_(s) ² can be obtained from an image of a static scene according to Equations 9 and 10.

$\begin{matrix} {\mu_{S} = \frac{\sum\limits_{t}\left( {{x_{t}\left( {i,j} \right)} - {x_{t + 1}\left( {i,j} \right)}} \right)}{n}} & \left\lbrack {{Equaiton}\mspace{20mu} 9} \right\rbrack \\ {\sigma_{S}^{2} = \frac{\sum\limits_{t}\left( {\mu_{S} - \left( {{x_{t}\left( {i,j} \right)} - {x_{t + 1}\left( {i,j} \right)}} \right)} \right)^{2}}{n}} & \left\lbrack {{Equation}\mspace{20mu} 10} \right\rbrack \end{matrix}$

Here, x_(t)(i,j) is intensity of a position (i,j) at a frame t, and n is the total number of images. In order to estimate the Skellam parameters in a variety of colors, 10,000 images are acquired for a static scene of “Gretag-Macbeth ColorChecker.” A camera used is “Pointgrey Scorpion.” At this time, estimation results (image resolution: 1600×1200, and exposure time: 1/15 second) are as shown in FIGS. 5 a to 5 c.

FIG. 5 a to 5 c are views showing Skellam parameter estimation results using 10,000 static images. FIG. 5 a shows a Skellam parameter estimation result for a black patch (24th patch), FIG. 5 b shows a Skellam parameter estimation result for a gray patch (21st patch), and FIG. 5 c shows a Skellam parameter estimation result for a red patch (15th patch).

That is, the Skellam parameters are different for different patches. The black patch has a low Skellam parameter and the gray patch has a high Skellam parameter. This is expected from the fact that μ₁ and μ₂ are the number of photons obtained for acquisition time in the CCD device.

In addition, FIGS. 5 a to 5 c show different important verification. That is, a distribution of intensity difference can be precisely estimated from a Skellam modeling. This shows that the photon noise assumed in the present invention is appropriately dominant.

As shown in FIGS. 5 a to 5 c, noise has to be estimated from a single image in order to generalize the Skellam modeling. In the present invention, it is assumed that pixels are independent of each other in a spatial domain. This means that a noise distribution in the spatial domain is equal to that in a temporal domain. In order to prove that this assumption is proper, the noise distribution in the spatial domain is compared with that in the temporal domain. A modeling result in the temporal domain can be obtained according to Equations 9 and 10. Monochromatic color patches are cut out of a color pattern image in order to model noise in the spatial domain. The noise modeling in the spatial domain can be obtained using the cut patches according to Equations 11 and 12.

$\begin{matrix} {\mu_{S} = \frac{\sum\limits_{{({i,j})} \in P}\left( {{x_{t}\left( {i,j} \right)} - {x_{t}\left( {{i + d_{x}},{j + d_{y}}} \right)}} \right)}{n}} & \left\lbrack {{Equation}\mspace{20mu} 11} \right\rbrack \\ {\sigma_{S}^{2} = \frac{\sum\limits_{{({i,j})} \in P}\left( {\mu_{S} - \left( {{x_{t}\left( {i,j} \right)} - {x_{t}\left( {{i + d_{x}},{j + d_{y}}} \right)}} \right)} \right)^{2}}{n}} & \left\lbrack {{Equation}\mspace{20mu} 12} \right\rbrack \end{matrix}$

Here, (i,j)εP means all point in the patches, and d_(x) and d_(y) mean disparity in horizontal and vertical directions, respectively. n is the total number of pixels in the patches.

Hereinafter, comparison between modeling results in the spatial and temporal domains will be described with reference to FIGS. 6 a to 6 d.

FIGS. 6 a to 6 d are views showing comparison between modeling results in the spatial and temporal domains.

FIG. 6 a shows comparison between modeling results in the spatial and temporal domains for an orange patch (7th patch), FIG. 6 b shows comparison between modeling results in the spatial and temporal domains for a blue patch (13th patch), FIG. 6 c shows comparison between modeling results in the spatial and temporal domains for a green patch (14th patch), and FIG. 6 d shows comparison between modeling results in the spatial and temporal domains for a medium gray patch (22nd patch). Here, a camera used for the modeling in the spatial and temporal domains is “Pointgrey Scorpion.” At this time, estimation results (image resolution: 1600×1200, and exposure time: 1/7.5 second) As shown in FIGS. 6 a to 6 d, it can be proved that the Skellam parameters in the temporal and spatial domains are nearly equal to each other. This shows that intensity difference is ergodic. If disparity is 1, it can be said that a Skellam parameter is smaller than different estimation results. This seems to occur from compression of pixel values. In a test using a camera having a non-compression RGB output function such as HITACHI HV-F22, it is confirmed that this phenomenon does not occur. A small difference between modeling results in the spatial and temporal domains occurs because only one pixel in the patch is selected when the noise distribution in the temporal domain is estimated. A small variation of the Skellam parameters may occur depending on which pixel in the patch is selected. This experiment shows that disparity in the horizontal and vertical directions has the same result although d_(x) increases from 1 to 10. Since the suggested modeling system satisfies ergodicity, this system can be applied to a single image.

Hereinafter, a method of estimating noise statistics using the Skellam parameters will be described.

First, although the Skellam modeling can be applied to the spatial domain as well as the temporal domain, linearity between image intensity and the Skellam parameters is used to find precise Skellam parameters.

FIGS. 7 a to 7 c are views showing linearity between the sample mean of a patch and a Skellam parameter. That is, in the present invention, a noise distribution of an image is estimated based on a linear relationship between the Skellam parameter and intensity of the image.

FIG. 7 a shows a linearity relationship between a Skellam parameter of an image for a red (R) channel and image intensity, FIG. 7 b shows a linearity relationship between a Skellam parameter of an image for a green (G) channel and image intensity, and FIG. 7 c shows a linearity relationship between a Skellam parameter of an image for a blue (B) channel and image intensity. Here, since it is difficult to extract meaningful statistics of mean and variance from a single pixel, 10,000 pattern images are acquired in order to show a correlation between the image intensity and the Skellam parameter.

FIGS. 7 a to 7 c show Skellam parameter scatter plots related to a sample mean of pixels at positions defined in patches and the linearity relationship between the sample mean and the Skellam parameter. In the figures, a line corresponding to the linearity relationship between the sample mean and the Skellam parameter is called an intensity-Skellam line. If a pixel value can be approximated to the sample mean and has the intensity-Skellam line, the Skellam parameter can be estimated. Straight lines in FIGS. 7 a to 7 c are varied only depending on an amplitude gain of a camera, not scene and illumination. In addition, once the intensity-Skellam line is determined, these straight lines can be used as long as the amplitude gain is fixed.

Hereinafter, a method of estimating the intensity-Skellam line in two given static images will be described.

First, if the two static images have pairs of Skellam parameters and intensity values, a line matching these pairs can be obtained. If Skellam parameters of particular pixels in the temporal domain are to be obtained, at least 10,000 static images are required to sufficiently stabilize statistics to be calculated. However, it is unpractical to acquire so many static images in indoor and outdoor environments. The present invention provides an intensity-Skellam line estimating method which is capable of reducing the number of required static images to two, which is even more practical than the case where 10,000 static images are acquired. Assuming that pixels in pixels are independent of each other, intensity differences between corresponding pixels in two images can be regarded as a set of intensity differences in the temporal domain. Therefore, the number of pixels used to estimate Skellam parameters at specified intensity is sufficiently large. A line estimation algorithm for one channel is as follows.

1. A histogram of intensity in a first frame is obtained and local maxima are found in the histogram. x_(m) ¹,m=0, 1 , . . . , M

2. A set of corresponding pixels of two frames satisfying Equation 13 near the local maxima is found.

X _(m) ={x ¹(i,j),x ²(i,j)|x _(m) −ε<x ¹(i,j)<x _(m)+ε}  [Equation 13]

3. Mean and variance of a set Skellam distribution for X_(m) are calculated from Equations 14 and 15.

$\begin{matrix} {\left. \mu_{S} \middle| X_{m} \right. = \frac{\sum\limits_{X_{m}}\left( {{x_{k}^{1}\left( {i,j} \right)} - {x_{k}^{2}\left( {i,j} \right)}} \right)}{n}} & \left\lbrack {{Equation}\mspace{20mu} 14} \right\rbrack \\ {\left. \sigma_{S}^{2} \middle| X_{m} \right. = \frac{\sum\limits_{X_{m}}\left( \mu_{S} \middle| {X_{m} - \left( {{x_{k}^{1}\left( {i,j} \right)} - {x_{k}^{2}\left( {i,j} \right)}} \right)} \right)}{n}} & \left\lbrack {{Equation}\mspace{20mu} 15} \right\rbrack \end{matrix}$

4. Skellam parameters, μ₁ and μ₂ are calculated from Equations 7 and 8.

5. Two lines for a pair of (X_(m) ¹,μ₁) and (X_(m) ¹,μ₂) are estimated using a general RANSAC (RANdom SAmple Consensus) method.

Two actual color pattern images are acquired and an experiment for the line estimation algorithm is conducted. The acquisition of two color pattern images is for obtaining intensity-Skellam lines close to actual values (ground truth) from a great number of static images and comparing the obtained intensity-Skellam lines.

Hereinafter, a histogram of intensity in the R channel and detected local maxima will be described with reference to FIG. 8.

FIG. 8 is a view showing the histogram of intensity in the R channel and the detected local maxima.

As shown in FIG. 8, pair of intensity and Skellam parameters can be obtained from the local maxima. Here, ε is defined to be 1. In addition, an intensity-Skellam line is determined through RANSAC.

Hereinafter, an estimation result of the intensity-Skellam line in the temporal domain is will be described with reference to FIGS. 9 a to 9 c.

FIGS. 9 a to 9 c are views showing estimation results of an Intensity-Skellam line in each channel.

FIG. 9 a shows an estimation result of an intensity-Skellam line in the R channel, FIG. 9 b shows an estimation result of an intensity-Skellam line in the G channel, and FIG. 9 c shows an estimation result of an intensity-Skellam line in the B channel. Here, Straight lines obtained from 10,000 static images are plotted for comparison between the intensity-Skellam lines. That is, the estimated intensity-Skellam lines show highly precise results as compared to actual values. Since most of the pairs of intensity and Skellam parameters used to obtain the intensity-Skellam lines are near the estimated intensity-Skellam lines, the intensity-Skellam lines can be obtained using a small number of pairs of intensity and Skellam parameters.

Hereinafter, a method of estimating an intensity-Skellam line in a single image will be described.

At least two static images are required to estimate the intensity-Skellam line. There are fields using a single image, such as feature point extraction and image segmentation, in a computer vision. Samples in the spatial domain instead of the temporal domain can be collected based on the ergodic characteristics. If patches having a monochromatic color are to be found, a Skellam parameter corresponding to the sample mean can be calculated.

In addition, in the present invention, proper patches are found using characteristics of Skellam parameters. The Skellam mean is calculated as the mean of intensity differences of neighborhood pixels, as expressed by Equation 11. If a color changing portion exists among the neighborhood pixels, it causes variation of the Skellam mean, which will be described with reference to FIGS. 10 and 10 b.

FIGS. 10 a and 10 b are views showing variation of a Skellam parameter at an edge line.

As shown in FIGS. 10 a and 10 b, an experiment with red-black changing patch is conducted to show variation of the Skellam parameter at the edge line. That is, when a portion of the patch is changed as the patch moves to the right (on an X position), the Skellam parameter increases.

If an image is acquired under directional illumination conditions, the Skellam mean at the patch may be shifted little by little even when the image has a monochromatic color. A histogram of the Skellam mean is first obtained to consider such shift. The highest point in the histogram of the Skellam mean is used to consider the shift of the Skellam mean. Although the illumination is located in the upper direction, the Skellam mean is little shifted on the experiment.

FIGS. 11 a and 11 b are views showing a histogram for a difference between Skellam parameters. FIG. 11 b shows a histogram of the Skellam mean for an input image of FIG. 11 a.

As shown in FIGS. 11 a and 11 b, the highest point can be easily found and patches having the Skellam mean near the highest point are used. Pairs of patch intensity and Skellam parameters are not laid on a single straight line. In addition, there may exist singular points not filtered. In the present invention, a simple RANSAC Algorithm is applied to estimate a straight line. Since lots of patches are distributed on the center, the straight line can be easily found. Accordingly, patches are randomly selected to save time. 1000 19×19 patches are used.

FIGS. 12 a to 12 c are views showing estimation results of image intensity and a Skellam line in a single image. A noise modeling suggested based on the estimation results can be applied to the single image.

Hereinafter, a method of determining intensity allowance will be described.

Since image intensity values have respective Skellam parameters, image intensity has a precise distribution according to the Skellam parameters. Allowance of intensity variation occurring due to sensor noise can be determined based on this distribution. A method of determining the intensity allowance is to verify a hypothesis for a given confidence interval.

A cumulative distribution function has to be used to verify the hypothesis. Since the probability mass function of the Skellam distribution is defined for only an integer, the cumulative distribution function can be calculated as Equation 16.

$\begin{matrix} {{F\left( {{K;\mu_{1}},\mu_{2}} \right)} = {\sum\limits_{k = {- \infty}}^{K}{{^{- {({\mu_{1} + \mu_{2}})}}\left( \frac{\mu_{1}}{\mu_{2}} \right)}^{k/2}{I_{k}\left( {2\sqrt{\mu_{1}\mu_{2}}} \right)}}}} & \left\lbrack {{Equation}\mspace{20mu} 16} \right\rbrack \end{matrix}$

An acceptance region for critical value I is expressed as Equation 17.

A(I)={ν|ν<I}=F(I;μ ₁,μ₂)−F(−I;μ ₁,μ₂)   [Equation 17]

Intensity allowance I_(A) is determined according to Equation 18.

$\begin{matrix} {I_{A} = {{\arg \; {\max\limits_{i}{{A(I)}\mspace{14mu} {s.t.\mspace{11mu} {A(I)}}}}} \leq {1 - \alpha}}} & \left\lbrack {{Equation}\mspace{20mu} 18} \right\rbrack \end{matrix}$

Here, α is a size of I type error meaning a true rejection rate to give a confidence interval of (1−α)*100%, as shown in FIG. 13.

FIG. 13 is a view showing intensity allowance of a given probability density function. Here, 1−α represents the sum of length of solid lines and α represents the sum of length of dashed lines.

Hereinafter, a method of applying the noise modeling to edge detection will be described.

First, the suggested noise modeling is applied to edge detection by directly using the intensity allowance. Although a general image edge detecting method and apparatus smoothes an image as a pre-process through a Gaussian kernel, the edge detecting method and apparatus based on the noise modeling according to the embodiment of the present invention need not smooth an image since variation of image intensity due to sensor noises can be precisely known. The edge detecting method and apparatus based on the noise modeling according to the embodiment of the present invention alleviates noises in an image as well as finding a detailed edge instead of Gaussian smoothing.

Hereinafter, a method of detecting an edge in an image and a post-process will be described.

Since the intensity allowance can be precisely determined based on the noise estimation using the Skellam distribution, an edge in the image can be simply detected. That is, the method of detecting the edge in the image is highly similar to a method of detecting variations in the image. For example, if an intensity difference between two adjacent pixels falls within the intensity allowance, the edge detecting unit 12 of FIG. 1 determines that there is no edge in the image, or otherwise, there are variations of color in a true scene, and the edge detecting unit 12 determines that there is any edge in the image. A degree of edge in the horizontal and vertical directions is defined according to Equations 19 and 20.

$\begin{matrix} {{e_{x}^{c}\left( {i,j} \right)} = \frac{{{{x^{c}\left( {{i - 1},j} \right)} - {x^{c}\left( {{i + 1},j} \right)}}} - I_{A}}{I_{A}}} & \left\lbrack {{Equation}\mspace{20mu} 19} \right\rbrack \\ {{e_{y}^{c}\left( {i,j} \right)} = \frac{{{{x^{c}\left( {i,{j - 1}} \right)} - {x^{c}\left( {i,{j + 1}} \right)}}} - I_{A}}{I_{A}}} & \left\lbrack {{Equation}\mspace{20mu} 20} \right\rbrack \end{matrix}$

Here, I_(A) means intensity allowance in a pixel, c means red, green and blue color channels in an RGB color space, and x(i,j) means a pixel value at a position (i,j) of an image. The degree of edge is defined by measuring a normalized distance of image intensity from the intensity allowance. If degrees of edges are negative in both of the horizontal and vertical directions, a pixel concerned is regarded as a pixel having no edge, or otherwise, degrees of edges in both of the horizontal and vertical directions are summed. As a result, the total degree of edges in one pixel is expressed by Equation 21.

$\begin{matrix} {{e\left( {i,j} \right)} = \left\{ \begin{matrix} {0,} & {{if}\mspace{14mu} \left\{ {\begin{matrix} {{e_{x}^{c}\left( {i,j} \right)} < 0} \\ {{e_{y}^{c}\left( {i,j} \right)} < 0} \end{matrix}\mspace{11mu} {for}\mspace{14mu} {all}\mspace{14mu} c} \right.} \\ {{{\sum\limits_{c}{e_{x}^{c}\left( {i,j} \right)}} + {\sum\limits_{c}{e_{y}^{c}\left( {i,j} \right)}}},} & {otherwise} \end{matrix} \right.} & \left\lbrack {{Equation}\mspace{20mu} 21} \right\rbrack \end{matrix}$

The total degree of edges is preveniently reduced to a degree of edge due to sensor noise.

After the degree of edge is calculated for all pixels, a non-maximum suppression process is performed since a true edge does not appear as a single straight line. A Canny edge, which is most frequently used, requires two values for hysteresis classification in order to interconnect edges after the non-maximum suppression. However, in the present invention, since the intensity difference falls outside the intensity allowance determined based on the noise distribution, a degree of edge which is not zero regards a pixel concerned as an edge pixel.

Hereinafter, an image edge detection result according to an embodiment of the present invention will be described with reference to FIGS. 15 a to 15 f.

FIGS. 14 a to 14 f are a first exemplary view showing comparison between an image edge detection result according to an embodiment of the present invention and an image edge detection result of a Canny edge detector. An image edge detecting apparatus according to an embodiment of the present invention is compared with a Canny edge detector provided in MATLAB. Here, the image edge detecting apparatus according to the embodiment of the present invention has only one parameter of a confidence interval.

As shown in FIGS. 14 a to 14 f, Canny edge detectors have three parameters of high and low critical values for scale of Gaussian smoothing and hysteresis connection, respectively. These critical values are very susceptible in some cases and have a great effect on performance of the apparatus. Three results are given as automatic, high and low critical (or threshold) values with scale of the Gaussian smoothing fixed. The image edge detecting apparatus of this invention shows performance superior to that of the three Canny edge detectors. The image edge detecting apparatus of this invention alleviates most of wrongly detected edges as compared to the results of the low and automatic critical values in the Canny edge detectors. In addition, the image edge detecting apparatus of this invention shows details similar to the result of the low critical value. This is possible because pixels determine critical values differently based on the estimated noise distribution.

FIGS. 15 a to 15 f are a second exemplary view showing comparison between an edge detection result according to an embodiment of the present invention and an edge detection result of a Canny edge detector.

FIGS. 15 a to 15 f show edge detection results when scale of Gaussian smoothing is varied in the Canny edge detector. Canny critical values are automatically selected in MATLAB. Position estimation is very well conserved in the edge detecting apparatus, but in the Canny edge detector, the position estimation is not properly made by smoothing of a scale so sufficiently high as to alleviate unexpected edges due to image noises.

Hereinafter, edge detection results depending on various illumination changes will be described with reference to FIGS. 16 a to 16 d.

FIGS. 16 a to 16 d are views showing edge detection results depending on various illumination changes.

As shown in FIGS. 16 a to 16 d, edge detection results in the Canny edge detector and the edge detecting apparatus of this invention show a normalized degree of edge. For a dark input image, the Canny edge detector can not find a minute edge even if the Canny edge has a low critical value, but the edge detecting apparatus of this invention can find a fine edge. For a bright input image, repeated edges similar to edges in an image of ordinary illumination can be obtained in the edge detecting apparatus of this invention. However, the Canny edge detector can not alleviate wrong alarm occurring in a portion of monochromatic color. Accordingly, the image edge detecting method and apparatus according to the embodiment of the present invention shows high repetition performance for various illumination variations.

As apparent from the above description, the present invention provides an image edge detecting method and apparatus which shows excellent performance in an automated system, as compared to conventional edge detecting method and apparatuses, and a computer readable medium processing the method. The biggest problem in applying the conventional edge detecting methods and apparatuses to industrial systems is that users have to correct parameters of edge detection according to variations of scenes or illuminations. However, the edge detecting method and apparatus according to the embodiment of the present invention show robust results even under such variations, as shown in FIGS. 16 a to 16 d, as compared to the conventional edge detecting methods and apparatuses. For example, the edge detecting method and apparatus according to the embodiment of the present invention can know a structure of a scene of an image so dark as not to be perceived by persons and effectively remove noises even for an image so bright as not to be removed by the conventional edge detecting methods and apparatuses.

In addition, the conventional edge detecting methods and apparatuses have a problem in that image edges have a curved shape, not an actual sharp straight line shape, according to a level of smoothing. However, since the edge detecting method and apparatus according to the embodiment of the present invention does not require a smoothing process, this edge detecting method and apparatus can precisely detect image edges, and thus, can be effectively used to develop systems for discovering a precise structure of a scene of an image.

While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the present invention. The exemplary embodiments are provided for the purpose of illustrating the invention, not in a limitative sense. Thus, it is intended that the present invention covers the modifications and variations of this invention provided they come within the scope of the appended claims and their equivalents. 

1. A method of detecting an edge of an image, comprising the steps of: detecting a noise distribution of an object image; and detecting an edge of the image based on the detected noise distribution.
 2. The method according to claim 1, wherein the step of detecting the noise distribution comprises estimating the noise distribution according to correlation between noise parameters of the image and intensity of the image.
 3. The method according to claim 1, wherein the step of detecting the noise distribution comprises estimating the noise distribution according to a linear relationship between noise parameters of the image and intensity of the image.
 4. The method according to claim 2, wherein the noise parameters are Skellam parameters of the image.
 5. The method according to claim 1, wherein the step of detecting the edge comprises determining that there is no edge in the image if an intensity difference between adjacent pixels of the image falls within intensity allowance, and determining that there is any edge in the image if the intensity difference between adjacent pixels of the image does not fall within the intensity allowance.
 6. The method according to claim 2, wherein the noise parameters are Skellam parameters detected from pairs of Skellam parameters and intensity of a set of same pixels having the same intensity of two static images.
 7. The method according to claim 2, wherein the noise parameters are Skellam parameters detected from patches having uniform color in the image using an ergodic characteristic of a Skellam distribution of the image.
 8. The method according to claim 2, wherein the noise parameters are Skellam parameters detected for RGB (Red, Green and Blue) pixels of the image based on linearity between the noise parameters of the image and the intensity of the image.
 9. The method according to claim 2, wherein the noise parameters are Skellam parameters detected for RGB (Red, Green and Blue) pixels of the image based on a detected relationship between the noise parameters of the image and the intensity of the image.
 10. The method according to claim 1, wherein a degree of edge (e(i,j)) for one pixel of the image is calculated according to the following equations, ${e\left( {i,j} \right)} = \left\{ {{{\begin{matrix} {0,} & {{if}\mspace{14mu} \left\{ {\begin{matrix} {{e_{x}^{c}\left( {i,j} \right)} < 0} \\ {{e_{y}^{c}\left( {i,j} \right)} < 0} \end{matrix}\mspace{11mu} {for}\mspace{14mu} {all}\mspace{14mu} c} \right.} \\ {{{\sum\limits_{c}{e_{x}^{c}\left( {i,j} \right)}} + {\sum\limits_{c}{e_{y}^{c}\left( {i,j} \right)}}},} & {{otherwise},} \end{matrix}{e_{x}^{c}\left( {i,j} \right)}} = \frac{{{{x^{c}\left( {{i - 1},j} \right)} - {x^{c}\left( {{i + 1},j} \right)}}} - I_{A}}{I_{A}}},{{{and}{e_{y}^{c}\left( {i,j} \right)}} = \frac{{{{x^{c}\left( {i,{j - 1}} \right)} - {x^{c}\left( {i,{j + 1}} \right)}}} - I_{A}}{I_{A}}}} \right.$ where, I_(A) means intensity allowance in a pixel of the image, c means RGB (Red, Green and Blue) color channels in a color space, and x(i,j) means a pixel value at a position (i,j) of the image.
 11. A computer readable medium recorded with a program for performing the method according to any one of claims 1 to
 10. 12. An apparatus for detecting an edge of an image, comprising: a noise detecting unit that detects a noise distribution of an object image; and an edge detecting unit that detects an edge of the image based on the detected noise distribution.
 13. The apparatus according to claim 12, wherein the noise detecting unit estimates the noise distribution according to correlation between noise parameters of the image and intensity of the image.
 14. The apparatus according to claim 13, wherein the noise parameters are Skellam parameters of the image.
 15. The apparatus according to claim 13, wherein the noise parameters are Skellam parameters detected for RGB (Red, Green and Blue) pixels of the image based on a detected relationship between the noise parameters of the image and the intensity of the image.
 16. The apparatus according to claim 12, wherein the edge detecting unit determines that there is no edge in the image if an intensity difference between adjacent pixels of the image falls within intensity allowance, and determines that there is any edge in the image if the intensity difference between adjacent pixels of the image does not fall within the intensity allowance.
 17. The apparatus according to claim 13, wherein the noise parameters are Skellam parameters detected from pairs of Skellam parameters and intensity of a set of same pixels having the same intensity of two static images.
 18. The apparatus according to claim 13, wherein the noise parameters are Skellam parameters detected from patches having uniform color in the image using an ergodic characteristic of a Skellam distribution of the image.
 19. The apparatus according to claim 13, wherein the noise parameters are Skellam parameters detected for RGB (Red, Green and Blue) pixels of the image based on linearity between the noise parameters of the image and the intensity of the image.
 20. The apparatus according to claim 12, wherein a degree of edge (e(i,j)) for one pixel of the image is calculated according to the following equations, ${e\left( {i,j} \right)} = \left\{ {{{\begin{matrix} {0,} & {{if}\mspace{14mu} \left\{ {\begin{matrix} {{e_{x}^{c}\left( {i,j} \right)} < 0} \\ {{e_{y}^{c}\left( {i,j} \right)} < 0} \end{matrix}\mspace{11mu} {for}\mspace{14mu} {all}\mspace{14mu} c} \right.} \\ {{{\sum\limits_{c}{e_{x}^{c}\left( {i,j} \right)}} + {\sum\limits_{c}{e_{y}^{c}\left( {i,j} \right)}}},} & {{otherwise},} \end{matrix}{e_{x}^{c}\left( {i,j} \right)}} = \frac{{{{x^{c}\left( {{i - 1},j} \right)} - {x^{c}\left( {{i + 1},j} \right)}}} - I_{A}}{I_{A}}},{{{and}{e_{y}^{c}\left( {i,j} \right)}} = \frac{{{{x^{c}\left( {i,{j - 1}} \right)} - {x^{c}\left( {i,{j + 1}} \right)}}} - I_{A}}{I_{A}}}} \right.$ where, I_(A) means intensity allowance in a pixel of the image, c means RGB (Red, Green and Blue) color channels in a color space, and x(i,j) means a pixel value at a position (i,j) of the image.
 21. An apparatus for detecting an edge of an image, comprising: a noise detecting unit that estimates a noise distribution according to a linear relationship between noise parameters of an object image and intensity of the image; and an edge detecting unit that detects the edge by determining that there is no edge in the image if an intensity difference between adjacent pixels of the image falls within intensity allowance and determining that there is any edge in the image if the intensity difference between adjacent pixels of the image does not fall within the intensity allowance, based on the detected noise distribution.
 22. The apparatus for detecting an edge of an image, comprising: a noise detecting unit that detects a noise distribution according to a linear relationship between Skellam parameters and intensity of an object image, the Skellam parameters being detected from patches having uniform color in the object image using an ergodic characteristic of a Skellam distribution of the image, based on the mean and the standard deviation of the Skellam distribution of the image; and an edge detecting unit that detects the edge of the image by determining that there is no edge in the image if an intensity difference between adjacent pixels of the image falls within intensity allowance and determining that there is any edge in the image if the intensity difference between adjacent pixels of the image does not fall within the intensity allowance, based on the detected noise distribution, wherein a degree of edge (e(i,j)) for one pixel of the image is calculated according to the following equations, ${e\left( {i,j} \right)} = \left\{ {{{\begin{matrix} {0,} & {{if}\mspace{14mu} \left\{ {\begin{matrix} {{e_{x}^{c}\left( {i,j} \right)} < 0} \\ {{e_{y}^{c}\left( {i,j} \right)} < 0} \end{matrix}\mspace{11mu} {for}\mspace{14mu} {all}\mspace{14mu} c} \right.} \\ {{{\sum\limits_{c}{e_{x}^{c}\left( {i,j} \right)}} + {\sum\limits_{c}{e_{y}^{c}\left( {i,j} \right)}}},} & {{otherwise},} \end{matrix}{e_{x}^{c}\left( {i,j} \right)}} = \frac{{{{x^{c}\left( {{i - 1},j} \right)} - {x^{c}\left( {{i + 1},j} \right)}}} - I_{A}}{I_{A}}},{{{and}{e_{y}^{c}\left( {i,j} \right)}} = \frac{{{{x^{c}\left( {i,{j - 1}} \right)} - {x^{c}\left( {i,{j + 1}} \right)}}} - I_{A}}{I_{A}}}} \right.$ where, I_(A) means intensity allowance in a pixel of the image, c means RGB (Red, Green and Blue) color channels in a color space, and x(i,j) means a pixel value at a position (i,j) of the image. 